#ifndef GERENCIARTOKEN_H_
#define GERENCIARTOKEN_H_

/*
 * Biblioteca do Lexico
 */
#include "../Lexico/Tokenizer.h"
#include <list>

#include <algorithm>
#include <cctype>
#include <iostream>
#include <string>
using namespace std;
class GerenciarToken {
public:
	GerenciarToken();

	void setTokensEncontrado(list<Tokenizer> );
	void goForward();
	void goBackforward();
	void setNumeroTokens(int);
	void setPalavrasReservadas();
	int getNumeroTokens();
	Tokenizer getCurrentToken();
	Tokenizer getNextToken();
	bool isEmpty();
	bool isBegin();
	bool isEnd();

	virtual ~GerenciarToken();

private:

	int lowerCase(int);
	string ToLowerCase(string);
	bool procurarToken(string);

	int numeroTokens;
	list<Tokenizer> tokensEncontrado;
	list<Tokenizer>::iterator itTokenIndice;
	list<string> palavrasReservadas;

};

#endif /*GERENCIARTOKEN_H_*/
